package com.jsmtr.rms.service.DUserResumePreview;

import com.jsmtr.rms.entity.*;

import java.util.List;
import java.util.Map;


public interface IMyhrService {

    /**
     * 获得简历投递信息
     *
     * @param userid 用户ID
     * @param prex   招聘方案前缀（A:社会招聘/B:高校校园招聘/C:中专校园招聘/D:内部招聘）
     * @return
     * @throws Exception
     */
    List<DUserResume> getMyDUserResumes(String userid, String prex) throws Exception;

    List<Map<String, Object>> getDUserResumeFlowInfos(String cardno) throws  Exception;

    List<Map<String, Object>> getDUserResumeFlowInfos(String cardno, String pstart) throws  Exception;

    /**
     *  loginType为ZGZ，是春季招聘的时候，调用该方法
     * @param cardno
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> getZGZCJDUserResumeFlowInfos(String cardno) throws  Exception;

    DUserResume getDUserResume(String id, String userid) throws Exception;

    DUserResume getDUserResume(String id) throws Exception;

    List<DUserEducation> getUserEducation(String rid) throws Exception; //教育背景

    List<DUserWorkExperience> getUserWorkExperience(String rid) throws Exception; //工作经验

    List<DUserTraining> getUserTraining(String rid) throws Exception; //培训经历

    ProjectInfo getProjectInfo(String id) throws Exception;

    ProjectInfoFlow getProjectInfoFlow(String id) throws Exception;

    List<ProjectInfoFlow> getProjectInfoFlows(String pid, String deptcode) throws Exception;

    List<HRGXUser> getGXUsers(String code) throws Exception;

    HRGXUser getGXUser(String pid, String code) throws Exception;

    List<HRZZUser> getZZUsers(String code) throws Exception;

    HRZZUser getZZUser(String pid, String code) throws Exception;

    DoMSUser getMsUser(String fid, String userid) throws Exception;

    DoBSUser getBsUser(String fid, String userid) throws Exception;

    DoBSUser getBsUser(String id) throws Exception;

    DoOperationUser getOperationUser(String fid, String userid) throws Exception;



    /**
     * 获得用户在某次社会招聘方案中放弃应聘的次数
     * @param pid    招聘方案ID
     * @param userid 用户ID
     * @return 次数
     * @throws Exception
     */
    long getSZGiveUpCount(String pid, String userid) throws Exception;

    /*    
     * 获取面试者详情
     * @author cyx  
     * @date 2018/8/16 16:37  
     * @param fid 流程ID
   * @param userid 用户Id
     * @return java.lang.Object  
     */ 
    Object getMsUserDetial(String fid, String userid) throws Exception;

    /*
     * 获取用户面试详情Map数据
     * @author cyx
     * @date 2019/2/15 10:03
     * @param fid
     * @param userid
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<Map<String, Object>> getMsUserDetialByMap(String fid, String userid) throws Exception;


    /*
         * 获取用户当前流程的注意事项
         * @author cyx
         * @date 2018/8/23 15:31
         * @param pid 招聘方案id
     * @param fid 流程id
     * @param userid 简历id
         * @return java.lang.String
         */
    Object getUserZysx(String pid, String fid, String userid) throws Exception;
}
